Documentos estáticos de
Quarto®

Encuentro 5
2024

Christian Ballejo

Enlaces web


Existen varios tipos de “enlaces” o hipervínculos.


Markdown

Se pueden insertar links en formato Markdown vinculados 
a un texto como este de [Quarto](https://quarto.org/), 
URL directas como <https://www.ine.gob.ar/> y 
enlaces a [otros lugares](#docu-estaticos-title) 
en el mismo documento. 
La sintaxis es similar a incrustar un imagen en línea: 
![Nombre](imagen.png). 

Salida

Se pueden insertar links en formato Markdown vinculados a un texto como este de Quarto, URL directas como https://www.ine.gob.ar/ y enlaces a otros lugares en el mismo documento. La sintaxis es similar a incrustar un imagen en línea: Logo INE.

Listas


Listas sin orden:

Markdown:

-   Lista sin orden       
    -   sub-item 1         
    -   sub-item 1         
        -   sub-sub-item 1 

Salida

  • Lista sin orden
    • sub-item 1
    • sub-item 1
      • sub-sub-item 1

Listas ordenadas:

Markdown:

1. Lista ordenada            
2. item 2                  
   i. sub-item 1          
      a.  sub-sub-item 1

Salida

  1. Lista ordenada
  2. item 2
    1. sub-item 1
      1. sub-sub-item 1

Citas


Markdown:

> Cambiemos nuestra actitud tradicional hacia la construcción 
> de programas: en lugar de imaginar que nuestra tarea principal
> es indicarle a una computadora qué hacer, concentrémonos más
> bien en explicar a los seres humanos lo que queremos que haga
> una computadora. - Donald Knuth


Salida:

Cambiemos nuestra actitud tradicional hacia la construcción de programas: en lugar de imaginar que nuestra tarea principal es indicarle a una computadora qué hacer, concentrémonos más bien en explicar a los seres humanos lo que queremos que haga una computadora. - Donald Knuth

Tablas


Tablas Markdown

Markdown:

| Derecha | Izquierda | Predeterminado | Centrado |
|--------:|:----------|----------------|:--------:|
|    12   |    12     |       12       |    12    |
|   123   |   123     |      123       |   123    |
|     1   |     1     |        1       |     1    |


Salida:

Derecha Izquierda Predeterminado Centrado
12 12 12 12
123 123 123 123
1 1 1 1

Tablas Grid (cuadrícula)


Las tablas cuadrícula son un tipo más avanzado de tablas de Markdown que permiten otros elementos (múltiples párrafos, bloques de código, listas, etc.)


Markdown:

+---------------+---------------+--------------------+
| Formato       | Extensión     | Ventajas           |
+===============+===============+====================+
| Documento     | pdf           | - Seguro           |
| portable      |               | - Universal        |
+---------------+---------------+--------------------+
| Word          | docx          | - Editable         |
|               |               | - Universal        |
+---------------+---------------+--------------------+

: Ejemplo tabla cuadrícula 

Tablas Grid (cuadrícula)


Salida:


Ejemplo tabla cuadrícula
Formato Extensión Ventajas
Documento portable pdf
  • Seguro
  • Universal
Word docx
  • Editable
  • Universal

Tablas cuadrícula: Alineación


  • Las alineaciones se pueden especificar como en las tablas anteriores, colocando dos puntos en los límites de la línea de separación después del encabezado:
+--------------------+---------------+--------------------+
| Derecha            | Izquierda     | Centrado           |
+===================:+:==============+:==================:+
| Documento portable | pdf           | -  Seguro          |
+--------------------+---------------+--------------------+


  • Para tablas sin encabezado, los dos puntos van en la línea superior:
+--------------:+:--------------+:------------------:+
| Derecha       | Izquierda     | Centrado           |
+---------------+---------------+--------------------+

Tablas cuadrícula: Creación


  • Tengamos en cuenta que las tablas cuadrícula son bastante complicadas de escribir con un editor de texto plano porque, a diferencia de las tablas comunes, los indicadores de columna deben alinearse.


  • ¡El Editor Visual puede ayudar a crear estas tablas! para profundizar ver Guía Quarto


Tablas desde código


Directas, igual que la salida en consola y estéticamentente feas.

```{r}
library(datos)

pinguinos |> 
  slice(1:6)
```
# A tibble: 6 × 8
  especie isla   largo_pico_mm alto_pico_mm largo_aleta_mm masa_corporal_g sexo 
  <fct>   <fct>          <dbl>        <dbl>          <int>           <int> <fct>
1 Adelia  Torge…          39.1         18.7            181            3750 macho
2 Adelia  Torge…          39.5         17.4            186            3800 hemb…
3 Adelia  Torge…          40.3         18              195            3250 hemb…
4 Adelia  Torge…          NA           NA               NA              NA <NA> 
5 Adelia  Torge…          36.7         19.3            193            3450 hemb…
6 Adelia  Torge…          39.3         20.6            190            3650 macho
# ℹ 1 more variable: anio <int>

Tablas desde código


El paquete knitr, incuído en RStudio, puede convertir las salidas estos dataframes en tablas visuales con knitr::kable():


especie isla largo_pico_mm alto_pico_mm largo_aleta_mm masa_corporal_g sexo anio
Adelia Torgersen 39.1 18.7 181 3750 macho 2007
Adelia Torgersen 39.5 17.4 186 3800 hembra 2007
Adelia Torgersen 40.3 18.0 195 3250 hembra 2007
Adelia Torgersen NA NA NA NA NA 2007
Adelia Torgersen 36.7 19.3 193 3450 hembra 2007
Adelia Torgersen 39.3 20.6 190 3650 macho 2007
Adelia Torgersen 38.9 17.8 181 3625 hembra 2007
Adelia Torgersen 39.2 19.6 195 4675 macho 2007

Tablas desde código


Existen numerosos paquetes para darle formato a las tablas producidas mediante código.

Un ejemplo muy completo es el paquete flextable, que además es compatible con salidas en pdf y Word (docx).

La documentación se encuentra en este enlace


especie

isla

largo_pico_mm

alto_pico_mm

largo_aleta_mm

masa_corporal_g

sexo

anio

Adelia

Torgersen

39,1

18,7

181

3750

macho

2007

Adelia

Torgersen

39,5

17,4

186

3800

hembra

2007

Adelia

Torgersen

40,3

18,0

195

3250

hembra

2007

Adelia

Torgersen

N/A

N/A

N/A

N/A

2007

Adelia

Torgersen

36,7

19,3

193

3450

hembra

2007

Adelia

Torgersen

39,3

20,6

190

3650

macho

2007

Tablas desde código


Otro paquete para tablas elaboradas es gt.

Aquí podemos encontrar todo lo que ofrece.


especie isla largo_pico_mm alto_pico_mm largo_aleta_mm masa_corporal_g sexo anio
Adelia Torgersen 39.1 18.7 181 3750 macho 2007
Adelia Torgersen 39.5 17.4 186 3800 hembra 2007
Adelia Torgersen 40.3 18.0 195 3250 hembra 2007
Adelia Torgersen NA NA NA NA NA 2007
Adelia Torgersen 36.7 19.3 193 3450 hembra 2007
Adelia Torgersen 39.3 20.6 190 3650 macho 2007

️ Actividad 1


  • Inserte un enlace al sitio web de ANLIS (https://www.argentina.gob.ar/salud/anlis)

  • Inserte una tabla Markdown de 3 x 3 con el contenido que quiera. Apele a su creatividad

  • Edite la tabla desde el modo visual y pruebe algunos de los cambios ofrecidos. Renderice y observe.

  • Incorpore un chunk de R. Tome una porción del dataset encuesta incluído en el paquete datos y muestre el dataframe como una tabla utilizando la función kable() de knitr.

Fórmulas


Al igual que en RMarkdown se puede insertar fórmulas matemáticas Latex en linea o en imagen completa, utilizando $ o $$ según corresponda.

  • Este es un ejemplo de formula en linea \(\sqrt{\frac{\alpha}{2}}\)
\sqrt{\frac{\alpha}{2}}


  • La siguiente es una formula completa:

\[ R(t)= A \left(\frac{E_0}{\rho_0}\right)^{1/5}t^{2/5} \]

Caracteres especiales, emojis y listas de definiciones


En el modo Visual se pueden insertar facilmente caracteres especiales de distinto tipo, emojis y listas de términos. Por ejemplo:


Caracteres especiales:

② ≋ 𝄞 ⍾ ◴ ⭆


Emojis:

😀 🥶 👍 🤡


Listas de definición

Clase en programación orientada a objetos

Es una plantilla que define las características y comportamientos de una entidad

Artículos científicos


Quarto soporta la construcción de artículos científicos a través de plantillas preformateadas o personalizadas donde encontraremos:


  • un esquema estandarizado para autores que se puede expresar una vez en el documento fuente,

  • el uso de Citation Style Language (CSL) para automatizar el formato de citas y bibliografías,

  • herramientas de RStudio modo Visual para trabajar con Zotero, DOI’s, CrossRef, DataCite, PubMed y archivos .bib,

  • salida a pdf, html y docx con formato personalizado,

Citas bibliográficas


Quarto utiliza la representación de Mardown estándar de Pandoc para las citas (por ejemplo [@cita]): las citas van entre corchetes y están separadas por punto y coma. Cada cita debe tener una clave, compuesta por “@” + el identificador de la cita de la base de datos.


Pandoc le brinda el formato a las citas bibliograficas. De forma predeterminada, usa el formato autor-fecha del estilo Chicago, pero puede especificarse un formato personalizado utilizando CSL (Citation Style Language) en la cabecera YAML del documento.

Citas bibliográficas

️ Actividad 2


  • Inserte, desde las herramientas del modo visual, una referencia a partir de este DOI https://doi.org/10.31053/1853.0605.v81.n1.42138 (copielo y peguelo en el menú que le va a constuir un archivo .bib)

  • Renderice y observe la escritura en el modo source

  • Abra y observe el contenido del archivo references.bib

  • Revise la cabecera YAML del documento y busque la línea bibliography: references.bib

Anotaciones en el código

Se pueden agregar anotaciones en el código.

1pinguinos |>
2  ggplot(aes(x = largo_pico_mm,
             y = alto_pico_mm,
             color = isla)) +
  geom_point()
1
Tome el dataset pingüinos, y luego,
2
agregue variables para definir en cada parte del gráfico.


Las líneas resaltadas finalizan con la siguiente notación:

pinguinos |>                             # <1>
  ggplot(aes(x = largo_pico_mm,          # <2>
             y = alto_pico_mm,           # <2>
             color = isla)) +            # <2>
  1. Tome el dataset pingüinos, y luego,
  2. agregue variables para definir en cada parte del gráfico.

Código destacado


Solo funciona en presentaciones revealjs. El código destacado provoca que el resto aparezca “grisado”.

library(datos)
library(ggplot2)

pinguinos |>                             
  ggplot(aes(x = largo_pico_mm,          
             y = alto_pico_mm,           
             color = isla)) +            
  geom_point()


Para resaltar la línea o lineas deseadas solo hace falta declarar la opción en los metadatos del fragmento. En este ejemplo se ejecutó la siguiente línea:

#| code-line-numbers: “8”

Opciones de código de ejecución


Algunas de las opciones de control de ejecución de los chunck de código.

Opción Descripción
eval Evalua el codigo del chunk (si es false, saltea el código y no lo ejecuta).
echo Incluye el código fuente en la salida
output Incluye el resultado de la ejecución del código en la salida (true, false, or asis para indicar que muestre los resultados en forma cruda).
warning Gestiona las advertencias en la salida.
error Gestiona los errores en la salida.
include Evita que se incluya cualquier salida (código o resultados) (por ejemplo include: false suprime toda la salida del bloque de código).
message Gestiona los mensajes en la salida
fig-* Familia de opciones para las figuras (alto, ancho, alineación, nombre, resolución, etc)

Ejemplo: Gráficos desde código


```{r}
library(datos)
library(ggplot2)

pinguinos |> 
  ggplot(aes(x = largo_pico_mm,
                     y = alto_pico_mm,
                     col = isla)) +
  geom_point()
```

Ejemplo: Gráficos desde código


```{r}
#| fig-width: 5
#| fig-height: 3

library(datos)
library(ggplot2)

pinguinos |> 
  ggplot(aes(x = largo_pico_mm,
                     y = alto_pico_mm,
                     col = isla)) +
  geom_point()
```

Ejemplo: Gráficos desde código


```{r}
#| fig-width: 5
#| fig-height: 3
#| fig-cap: "Tamaño de los pingüinos en 
tres islas del Archipelago Palmer."
#| fig-alt: "Diagrama de dispersión que 
muestra el tamaño de los picos de los 
pingüinos en tres islas"

library(datos)
library(ggplot2)

pinguinos |> 
  ggplot(aes(x = largo_pico_mm,
                     y = alto_pico_mm,
                     col = isla)) +
  geom_point()
```

Tamaño de los pingüinos en tres islas del Archipelago Palmer.

️ Actividad 3


  • Construya un fragmento de código de R (chunk) a partir del dataset diamantes del paquete datos, donde se muestre un gráfico de puntos entre las variables precio y quilate.

  • Modifique mediante codigo de ejecución su tamaño, que se muestre y se oculte el código y que se evalue y no se evalue el mismo código.

  • En cada situación renderice y observe los cambios.